package com.zhangtai.modules.vo;


import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import com.zhangtai.modules.entity.salary.AwardInfoEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;

@Data
public class AwardInfoVo implements Serializable {

    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    /**
     * 申请人姓名
     */
    @ApiModelProperty(value="申请人id",required = false)
    private String applicantId;
    /**
     * 申请人姓名
     */
    @ApiModelProperty(value="申请人姓名",required = false)
    private String applicantName;
    /**
     * 申请日期
     */
    @ApiModelProperty(value="申请日期",required = false)
    private Date createTime;
    /**
     * 申请人部门
     */
    @ApiModelProperty(value="申请人部门",required = false)
    private String department;
    /**
     * 奖罚总金额
     */
    @ApiModelProperty(value="奖罚总金额",required = false)
    private BigDecimal amount;
    /**
     * 审批状态
     */
    @ApiModelProperty(value="审批状态",required = false)
    private Integer approvalStatus;
    /**
     * 申请人工号
     */
    @ApiModelProperty(value="申请人工号",required = false)
    private String usercode;
    /**
     *附件
     */
    @ApiModelProperty(value="附件",required = false)
    private String url;

    @ApiModelProperty("附件文件url ")
    private ArrayList<String> fileUrlList;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否删除
     */
    private Integer isDelete;

    /**
     * 流水号
     */
    private String serialNum;

    /**
     * 插入时间
     */
    private Date insetDate;
    private Long unitId;
    /**
     * 公司id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long orgId;

    /**
     * 公司
     */
    private String orgname;

    /**
     * 预留金额
     */
    private BigDecimal reservedAmount;
    /**
     * 预留类型
     */
    private Integer reservedType;

    /**
     * 奖罚种类
     */
    private Integer awardType;
    /**
     * 奖罚包名称
     */
    private String awardName;
    /**
     * 奖罚部门
     */
    private String awardUnitname;
    /**
     * 奖罚人员
     */
    private String awardPersonnel;
    /**
     * 分配金额
     */
    private BigDecimal distributionAmount;


    /**
     *奖罚人列表
     */
    @ApiModelProperty(value="奖罚人列表",required = false)
    private ArrayList<AwardInfoEntity> list;


    /**
     * 奖励种类
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long type;

}
